লারাভেল ইভেন্ট (Laravel Event)

Web Development - লারাভেল (Laravel) - লারাভেল এডভান্স (Laravel Advance) |
4
4

লারাভেল (Laravel) একটি শক্তিশালী PHP ফ্রেমওয়ার্ক যা বিভিন্ন ধরনের কার্যকলাপ পরিচালনা করতে অনেক সরঞ্জাম সরবরাহ করে। এর মধ্যে ইভেন্ট (Event) একটি গুরুত্বপূর্ণ বিষয়, যা অ্যাপ্লিকেশনের বিভিন্ন অংশের মধ্যে যোগাযোগ ও ডাটা শেয়ারিং সহজ করে তোলে। ইভেন্টের মাধ্যমে আপনি অ্যাপ্লিকেশন চলাকালীন নির্দিষ্ট কার্যকলাপ ঘটানোর জন্য এক্সিকিউট করতে পারেন, যেমন ডাটাবেসে পরিবর্তন আসলে কোনো নোটিফিকেশন পাঠানো।

ইভেন্ট কি?

ইভেন্ট হল একটি নির্দিষ্ট কার্যকলাপ বা ঘটনা যা ঘটে এবং তা কিছু প্রক্রিয়া বা অ্যাকশন ট্রিগার (trigger) করে। লারাভেলে ইভেন্টের মাধ্যমে, আপনি একটি কাজ সম্পন্ন হওয়ার পর অন্য একটি কাজ স্বয়ংক্রিয়ভাবে চালাতে পারেন। যেমন, ব্যবহারকারী লগইন করলে একটি ইমেইল পাঠানো, অথবা কোনো মডেল সেভ হওয়ার পর কিছু অ্যাকশন চালানো।

ইভেন্ট কিভাবে কাজ করে?

লারাভেলে ইভেন্টের কাজের ধাপগুলি সাধারণত নিম্নলিখিত:

  1. ইভেন্ট তৈরি করা: প্রথমে একটি ইভেন্ট তৈরি করতে হয়। ইভেন্ট হল একটি কাস্টম ক্লাস যা একটি নির্দিষ্ট অ্যাকশন বা ঘটনার প্রতিনিধিত্ব করে।
  2. লিসেনার তৈরি করা: এরপর আপনি একটি লিসেনার তৈরি করেন, যা ইভেন্ট ঘটলে চালু হয় এবং নির্দিষ্ট কাজ সম্পাদন করে।
  3. ইভেন্টটি ট্রিগার করা: যখন নির্দিষ্ট ঘটনা ঘটবে, তখন সেই ইভেন্টটি ট্রিগার করা হয় এবং লিসেনার সেই ইভেন্টের প্রতিক্রিয়া হিসেবে কাজ করে।

ইভেন্ট তৈরি করা

লারাভেলে ইভেন্ট তৈরি করতে php artisan make:event কমান্ড ব্যবহার করা হয়। উদাহরণস্বরূপ:

php artisan make:event UserRegistered

এই কমান্ডটি app/Events ডিরেক্টরিতে UserRegistered নামক একটি নতুন ক্লাস তৈরি করবে।

লিসেনার তৈরি করা

ইভেন্টের সাথে সম্পর্কিত কার্যকলাপ বা প্রতিক্রিয়া তৈরি করতে লিসেনার ব্যবহার করা হয়। লিসেনার তৈরি করতে php artisan make:listener কমান্ড ব্যবহার করা হয়:

php artisan make:listener SendWelcomeEmail --event=UserRegistered

এই কমান্ডটি app/Listeners ডিরেক্টরিতে SendWelcomeEmail নামক একটি নতুন লিসেনার ক্লাস তৈরি করবে যা UserRegistered ইভেন্টের প্রতি প্রতিক্রিয়া জানাবে।

ইভেন্ট ও লিসেনার রেজিস্টার করা

এবার, ইভেন্ট এবং লিসেনার একে অপরের সাথে সংযুক্ত করতে হয়। এটি EventServiceProvider ফাইলের মাধ্যমে করা হয়। এই ফাইলটি app/Providers ডিরেক্টরিতে পাওয়া যাবে। এখানে আপনি ইভেন্ট ও লিসেনার যুক্ত করতে পারেন:

protected $listen = [
    \App\Events\UserRegistered::class => [
        \App\Listeners\SendWelcomeEmail::class,
    ],
];

ইভেন্ট ট্রিগার করা

এখন, যখন UserRegistered ইভেন্টটি ঘটবে, তখন এটি SendWelcomeEmail লিসেনারকে ট্রিগার করবে। ইভেন্ট ট্রিগার করতে, আপনি ইভেন্ট ফ্যাকেড ব্যবহার করতে পারেন:

event(new UserRegistered($user));

এটি UserRegistered ইভেন্টের একটি নতুন ইনস্ট্যান্স তৈরি করবে এবং লিসেনার এর সাথে ট্রিগার হবে।

ইভেন্টের বাস্তব উদাহরণ

ধরা যাক, আপনি একটি সিস্টেম তৈরি করেছেন যেখানে ব্যবহারকারী সাইন-আপ করার পরে একটি স্বাগতম ইমেইল পাঠানো হবে। আপনি UserRegistered নামক একটি ইভেন্ট তৈরি করেছেন, এবং SendWelcomeEmail নামক একটি লিসেনার তৈরি করেছেন, যা স্বাগতম ইমেইল পাঠাবে। যখন ব্যবহারকারী সাইন-আপ করবে, তখন ইভেন্টটি ট্রিগার হবে এবং স্বাগতম ইমেইল পাঠানো হবে।


লারাভেল ইভেন্ট সিস্টেমের মাধ্যমে অ্যাপ্লিকেশনের বিভিন্ন অংশের মধ্যে কার্যকলাপের সিঙ্ক্রোনাইজেশন ও যোগাযোগ সহজ হয়ে যায়। এটি ডেভেলপারদের অ্যাপ্লিকেশনকে আরও মডুলার ও ইফেকটিভভাবে পরিচালনা করতে সহায়তা করে।

Content added By
Promotion